The present disclosure relates to job scheduling and, more particularly, to scheduling jobs in system having multiple computers of various levels, supporting various functionalities.
When developing new functionality that is to be enabled at the job control language (JCL) level, one has to consider that a job can be converted on one computer and then executed on a different computer within a sysplex, or other system of multiple computers.
Within a multi-computer system, each computer need not run the same release of the same operating system. As such, the computers may not all support the same functionalities. In general, a computer that supports more functionality than another is referred to herein as an “uplevel” system, and a computer that does not support certain functionality is referred to as a “downlevel” system. “Uplevel” and “downlevel” are thus relative terms.
When a job is converted on an uplevel system, and includes functionality only supported by certain releases of an operating system, the job may require functionality that is not supported on a downlevel system. If the job is then assigned to and executed by a downlevel system, a compatibility issue may arise. Conventionally, this issue is solved via an enhancement to the downlevel system enabling it to understand a function it cannot perform. Sometimes this enhancement is as small as accepting but ignoring a JCL keyword indicating the missing functionality. In other words, although the downlevel system would not execute the command, it would also not throw an error. In some cases, however, the enhancement is much more substantial. Regardless, if executed by a downlevel system that does not support the requested functionality, a job does not perform as it was intended to.